#include "_gpio.h"

void gpio_write_pin(gpio_t* gpio, uint8_t state)
{
    if (state == 1) 
    {
        DL_GPIO_setPins(gpio->gpiox, gpio->pinx);
    }
    else 
    {
        DL_GPIO_clearPins(gpio->gpiox, gpio->pinx);
    }
}

void gpio_toggle_pin(gpio_t* gpio)
{
    DL_GPIO_togglePins(gpio->gpiox, gpio->pinx);
}

uint8_t gpio_read_pin(gpio_t* gpio)
{
    uint32_t state = DL_GPIO_readPins(gpio->gpiox, gpio->pinx);
    if (state != 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
